package java_learn.java_jinjie.FunctionalInterface.Consumer;

import java.util.function.Consumer;

/**
 * Consumer接口的默认方法andThen
 * 作用:需要两个Consumer接口,可以把两个Consumer接口组合到一起,在对数据进行消费
 * <p>
 * 例如:
 * Consumer<String> con1
 * Consumer<String> con2
 * String s = "hello";
 * con1.accept(s);
 * con2.accept(s);
 * 连接两个Consumer接口  再进行消费
 * con1.andThen(con2).accept(s); 谁写前边谁先消费
 *
 * @Author: 李浩然
 * @Date: 2021/5/11 9:53 上午
 */
public class Demo01AndThen {
    public static void method(String s, Consumer<String> con1, Consumer<String> con2) {
        con1.accept(s);
        con2.accept(s);
        //使用andThen方法,把两个Consumer接口连接到一起,在消费数据
        con1.andThen(con2).accept(s);
    }

    public static void main(String[] args) {
        //调用method方法，一个字符串两个Lambda
        method("Hello", (t) -> {
            //字符串转大写
            System.out.println(t.toUpperCase());
        }, (t) -> {
            System.out.println(t.toLowerCase());
        });

    }
}
